Time-division multiplexing can be used for scheduling one or more data channels (for transferring data) and control channels (for transferring control information and messages) periodically on a data line. Data channels are periodic time periods in which certain data is transmitted on the data line. Each data channel can include multiple slots, with each slot comprising multiple bits. Data channels can have different lengths, with and the length can be measured in units of bits or slots, where a slot can comprise multiple bits. The period between each instance of a data channel can be called a “segment interval”
Scheduling a data line with control and data channels using conventional time-division multiplexing techniques can involve use of lookup tables to determine where channels can be assigned. This can be resource intensive, and in some applications can present design and implementation challenges. The design and implementation challenges that can be associated with these conventional scheduling techniques can arise in various applications, for example making a data line compatible with the Serial Low-Power Inter-Chip Media Bus (SLIMBUS). SLIMBUS is a standard defining communications between baseband or application processors and peripheral components in mobile terminals. The SLIMBUS standard is intended to accommodate simultaneous access of multiple digital audio devices to a single two-line bus, and its contemplated benefits include, for example, reducing pin count, package size, printed circuit board (PCB) layout area, and/or power consumption.
Among factors that can complicate design and implementation issues and challenges that may be associated with SLIMBUS, and possibly other present or future standards, is that the standard establishes interfaces and protocols for a data and clock line in terms of a physical layer, framer layer, interface device, manager device, framer device, and various other devices that will be collectively referenced as “generic devices.” However, SLIMBUS omits, and perhaps other future standards similarly omit, description of software instructions for configuring general purpose programmable processors to perform in accordance with the standard. For example, the SLIMBUS standard does not specify software instructions, or processing logic flow sufficiently to readily map to software instructions, for various tasks required to meet the standard. Examples of such tasks can include, without limitation, allocating data and control channels within a superframe of the data line.